[Kettle]09 九、kettle统计-映射-脚本控件

kettle统计-映射-脚本控件

Posted by 李玉坤 on 2018-02-08

统计控件

统计是转换里面的第十三个分类。

统计是提供数据的采样和统计功能。

分组

分组是按照某一个或某几个进行分组,同时可以将其余字段按照某种规则进行合并。

注意:
分组之前数据应该进行排序!

从Excel读取数据,按照group进行分组统计,把结果保存到Excel

输入:Excel输入
统计:分组
输出:Microsoft Excel输出

映射控件

映射是转换里面的第十八个分类。

映射是用来定义子转换,便于封装和重用。

映射(子转换)

映射(子转换)是用来配置子转换,对子转换进行调用的一个步骤。

映射输入规范

映射输入规范是输入字段,由调用的转换输入。

映射输出规范

映射输出规范是向调用的转换输出所有列,不做任何处理。

从t_orders表中获取数据,根据u_id查询t_users表,获取用户信息,并把数据保存到Excel

脚本控件

脚本是转换里面的第七个分类。

脚本就是直接通过程序代码完成一些复杂的操作。

javascript脚本

javascript脚本就是使用javascript语言通过代码编程来完成对数据流的操作。
JS中有很多内置函数,可以在编写JS代码时查看。

存在两种不同的模式:不兼容模式和兼容模式
不兼容模式:是默认的,也是推荐的
兼容模式:兼容老版本的kettle

javascript脚本-获取字段

不兼容模式:
myVar = FieldName;

兼容模式:根据字段类型的不同,使用不同的方法:
myVar = FieldName.getString();
myVar = FieldName.getNumber();

javascript脚本-给字段赋值

不兼容模式:直接使用字段名,如
FieldName = myVar;

兼容模式:使用
FieldName.setValue(myVar);

javascript脚本-在脚本中使用java类

不兼容模式:
var myVar = new java.lang.String(“pentahochina.com”);

兼容模式:
var myVar = new Packages.java.lang.String (“pentahochina.com”);

生成日期维度数据有日期,年,月,日,从2000年01月01日开始有1000条记录,保存到Excel

输入:生成记录
转换:增加序列、计算器、字段选择
脚本:JavaScript代码
输出:Excel输出

java脚本

java脚本就是使用java语言通过代码编程来完成对数据流的操作。

内置了很多函数可以直接使用。

java脚本-Main

Main函数对应一个processRow()函数,processRow()函数是用来处理数据流的场所!

执行SQL脚本

执行SQL脚本可以执行一个update语句,用来更新某个表中的数据。